package com.koo.modules.sale.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.koo.common.base.entity.CommonEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author charlin
 * @email 136137465@qq.com
 * @date 2023-03-16 16:57:09
 */
@Data
@ApiModel("销售单")
@TableName("sale_order")
public class SaleOrderEntity extends CommonEntity {
    private static final long serialVersionUID = 1L;

    @ExcelIgnore
    @TableId
    private Long saleId;

    @ColumnWidth(11)
    @ExcelProperty("销售类型 1销售，0退货")
    @ApiModelProperty(value = "销售类型 1销售，0退货")
    private Integer saleType;

    @ColumnWidth(11)
    @ExcelProperty("销售编号")
    @ApiModelProperty(value = "销售编号")
    private String saleNo;

    @ColumnWidth(11)
    @ExcelProperty("销售日期")
    @ApiModelProperty(value = "销售日期")
    private Date saleDate;

    @ColumnWidth(11)
    @ExcelProperty("退货日期")
    @ApiModelProperty(value = "退货日期")
    private Date backDate;

    @ColumnWidth(11)
    @ExcelProperty("会员id")
    @ApiModelProperty(value = "会员id")
    private Long memberId;

    @ColumnWidth(11)
    @ExcelProperty("会员名称")
    @ApiModelProperty(value = "会员名称")
    private String memberName;

    @ColumnWidth(11)
    @ExcelProperty("会员编号")
    @ApiModelProperty(value = "会员编号")
    private String memberNo;

    @ColumnWidth(11)
    @ExcelProperty("是否挂单")
    @ApiModelProperty(value = "是否挂单")
    private Integer isPending;

    @ColumnWidth(11)
    @ExcelProperty("挂单备注")
    @ApiModelProperty(value = "挂单备注")
    private String pendingRemark;

    @ColumnWidth(11)
    @ExcelProperty("共购买")
    @ApiModelProperty(value = "共购买")
    private BigDecimal totalSaleNum;

    @ColumnWidth(11)
    @ExcelProperty("折前总金额")
    @ApiModelProperty(value = "折前总金额")
    private BigDecimal totalPrediscountFee;

    @ColumnWidth(11)
    @ExcelProperty("会员价总金额")
    @ApiModelProperty(value = "会员价总金额")
    private BigDecimal totalMemberFee;

    @ColumnWidth(11)
    @ExcelProperty("折后总金额")
    @ApiModelProperty(value = "折后总金额")
    private BigDecimal totalDiscountFee;

    @ColumnWidth(11)
    @ExcelProperty("定点医保基金支付金额")
    @ApiModelProperty(value = "定点医保基金支付金额")
    private BigDecimal fundPaySumamt;

    @ColumnWidth(11)
    @ExcelProperty("其它费用总额")
    @ApiModelProperty(value = "其它费用总额")
    private BigDecimal toalOtherFee;

    @ColumnWidth(11)
    @ExcelProperty("实付金额")
    @ApiModelProperty(value = "实付金额")
    private BigDecimal paymentFee;

    @ColumnWidth(11)
    @ExcelProperty("实收金额")
    @ApiModelProperty(value = "实收金额")
    private BigDecimal receiveFee;

    @ColumnWidth(11)
    @ExcelProperty("找零金额")
    @ApiModelProperty(value = "找零金额")
    private BigDecimal giveChangeFee;

    @ColumnWidth(11)
    @ExcelProperty("共优惠(元)")
    @ApiModelProperty(value = "共优惠(元)")
    private BigDecimal totalReduceFee;

    @ColumnWidth(11)
    @ExcelProperty("共赠送数量")
    @ApiModelProperty(value = "共赠送数量")
    private BigDecimal totalGiveNum;

    @ColumnWidth(11)
    @ExcelProperty("是否支付")
    @ApiModelProperty(value = "是否支付")
    private Integer isPayed;

    @ColumnWidth(11)
    @ExcelProperty("支付类型 1:现金，2:支付宝,3:微信,4:社保卡,5:银联,6:其它")
    @ApiModelProperty(value = "支付类型 1:现金，2:支付宝,3:微信,4:社保卡,5:银联,6:其它")
    private Integer payType;

    @ColumnWidth(11)
    @ExcelProperty("营业员id")
    @ApiModelProperty(value = "营业员id")
    private String saleUserId;

    @ColumnWidth(11)
    @ExcelProperty("营业员名称")
    @ApiModelProperty(value = "营业员名称")
    private String saleUser;

    @ColumnWidth(11)
    @ExcelProperty("购买人")
    @ApiModelProperty(value = "购买人")
    private String buyerName;

    @ColumnWidth(11)
    @ExcelProperty("购买人身份证号码")
    @ApiModelProperty(value = "购买人身份证号码")
    private String buyerCardId;

    @ColumnWidth(11)
    @ExcelProperty("购买人手机号")
    @ApiModelProperty(value = "购买人手机号")
    private String buyerMobile;

    @ColumnWidth(11)
    @ExcelProperty("优惠券Id")
    @ApiModelProperty(value = "优惠券Id")
    private String couponId;

    @ColumnWidth(11)
    @ExcelProperty("单张金额")
    @ApiModelProperty(value = "单张金额")
    private BigDecimal singleFee;

    @ColumnWidth(11)
    @ExcelProperty("购买都 人脸id")
    @ApiModelProperty(value = "购买都 人脸id")
    private String buyerFaceId;

    @ColumnWidth(11)
    @ExcelProperty("退货状态 0 或null：表示没退货, 1:表示部分退货, 2: 表示完成退货")
    @ApiModelProperty(value = "退货状态 0 或null：表示没退货, 1:表示部分退货, 2: 表示完成退货")
    private Integer backType;

    @ColumnWidth(11)
    @ExcelProperty("订单来源：1POS，2小程序")
    @ApiModelProperty(value = "订单来源：1POS，2小程序")
    private Integer orderSource;

    @ColumnWidth(11)
    @ExcelProperty("0:线下支付， 1：线上支付")
    @ApiModelProperty(value = "0:线下支付， 1：线上支付")
    private Integer isOnlinePay;



}
